Data Exploration

Overview

colnames(Anime)
[1] "anime_id" "name"     "genre"    "type"     "episodes" "rating"   "members" 
sapply(Anime, class)
   anime_id        name       genre        type    episodes      rating 
  "integer" "character"    "factor"    "factor"    "factor"   "numeric" 
    members 
  "integer" 
Anime %>% glimpse()
Observations: 2,990
Variables: 7
$ anime_id <int> 32281, 5114, 28977, 9253, 9969, 32935, 11061, 820, 15335, ...
$ name     <chr> "Kimi no Na wa.", "Fullmetal Alchemist: Brotherhood", "Gin...
$ genre    <fct> "Drama, Romance, School, Supernatural", "Action, Adventure...
$ type     <fct> Movie, TV, TV, TV, TV, TV, TV, OVA, Movie, TV, TV, Movie, ...
$ episodes <fct> 1, 64, 51, 24, 51, 10, 148, 110, 1, 13, 24, 1, 201, 25, 25...
$ rating   <dbl> 9.37, 9.26, 9.25, 9.17, 9.16, 9.15, 9.13, 9.11, 9.10, 9.11...
$ members  <int> 200630, 793665, 114262, 673572, 151266, 93351, 425855, 806...

Describe stats

Anime %>% summary()
    anime_id         name                                     genre     
 Min.   :    1   Length:2990        Comedy, School, Slice of Life:  44  
 1st Qu.: 1556   Class :character   Comedy                       :  40  
 Median : 8262   Mode  :character   Comedy, Slice of Life        :  30  
 Mean   :11391                      Action, Mecha, Sci-Fi        :  16  
 3rd Qu.:19365                      Comedy, Seinen, Slice of Life:  16  
 Max.   :34451                      Comedy, Parody               :  15  
                                    (Other)                      :2829  
      type         episodes       rating         members       
        :   4   1      :842   Min.   :2.370   Min.   :  10005  
 Movie  : 423   12     :599   1st Qu.:7.020   1st Qu.:  17818  
 Music  :  12   13     :330   Median :7.420   Median :  34583  
 ONA    :  70   26     :185   Mean   :7.402   Mean   :  69018  
 OVA    : 458   2      :129   3rd Qu.:7.820   3rd Qu.:  79131  
 Special: 355   24     :129   Max.   :9.370   Max.   :1013917  
 TV     :1668   (Other):776   NA's   :43                       

Rating

summary(Anime$rating)                
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  2.370   7.020   7.420   7.402   7.820   9.370      43 
plot.rating <- ggplot(data = Anime, mapping = aes(x = rating, fill = type)) +
  geom_histogram() +
  labs(title = "Histogram of Ratings", x = "Rating", y = "Frequency", fill = "Type")+
  scale_fill_viridis_d() +
  theme_classic()

ggplotly(plot.rating)
qqnorm(Anime$rating, pch = 1, frame = FALSE)
qqline(Anime$rating, col = "#460054", lwd = 2)            

Type

type_anime <- Anime %>% 
  filter(type %in% c("Movie","Music","ONA","OVA","Special","TV"))

summary(type_anime$type)
          Movie   Music     ONA     OVA Special      TV 
      0     423      12      70     458     355    1668 
plot.type <- Anime %>% 
  filter(type %in% c("Movie","Music","ONA","OVA","Special","TV")) %>%
  ggplot(mapping = aes(x = type, fill = type)) +  
    geom_bar(stat="count") +
    labs(title = "Frequency of Anime Types", x = "Type", y = "Frequency", fill = "Type") +
  scale_fill_viridis_d() +
  theme_classic()

ggplotly(plot.type)

Data

Anime %>%
  select(name, genre, type, episodes, rating) %>%
  datatable(options = list(pageLength = 10))
hpolar <- function(x, a, c, z) { 
    
highchart() %>% 
  hc_chart(polar = TRUE) %>% 
  hc_title(text = x) %>% 
  hc_xAxis(categories = a,
           tickmarkPlacement = "on",
           lineWidth = 0) %>% 
  hc_yAxis(gridLineInterpolation = "polygon",
           lineWidth = 0,
           min = 0) %>% 
  hc_series(
    list(
      name = z,
      data = c,
      pointPlacement = "on",
      type = "line"
    )
  ) %>%
  hc_colors(c("#460054"))
}

Top Rated Animes

For our recommendations we are only considering animes which had a reviewership of greater than 10,000. We are not confident that shows with less than 10,000 reviews can be properly weighed for recommendation.

Overall Top

rating_Anime <- Anime %>%
  select(name, rating, genre, type) %>%
  group_by(name, rating, genre, type)%>%          
  arrange(desc(rating)) %>%
  head(10)      
                
hpolar('Top 10 Anime', rating_Anime$name, rating_Anime$rating,  'Rating')

Top Genres

genre_Anime <- Anime %>%
  mutate(genre = strsplit(as.character(genre),",")) %>%
  unnest(genre) %>% 
  mutate(genre = str_trim(genre, side = "both")) %>%
  filter(!is.na(rating)) %>%
  group_by(genre) %>%
  summarize(n = n(), rating = mean(rating)) %>%
  arrange(desc(n)) %>%
  head(15) %>%
  arrange(desc(rating)) %>%
  head(10)

hpolar('Top 10 Anime Genres', genre_Anime$genre, genre_Anime$rating, 'Rating')

Top OVA

rating_Anime <- Anime %>%
  select(name, rating, genre, type) %>%
  group_by(name, rating, genre, type)%>%          
  arrange(desc(rating)) 

rating_Anime_OVA <- rating_Anime %>%
    filter(type == 'OVA')%>%
    head(10)                  

hpolar('Top 10  Anime OVA', rating_Anime_OVA$name, rating_Anime_OVA$rating,  'Rating')

Top Movie Anime

rating_Anime <- Anime %>%
  select(name, rating, genre, type) %>%
  group_by(name, rating, genre, type)%>%          
  arrange(desc(rating)) 

rating_Anime_movie <- rating_Anime %>%
    filter(type == 'Movie')%>%
    head(10)

hpolar('Top 10  Anime Movie', rating_Anime_movie$name, rating_Anime_movie$rating,  'Rating')

Top TV Anime

rating_Anime_TV <- Anime %>%
  filter(type == 'TV', !is.na(rating)) %>%
  mutate(name = case_when(
    startsWith(name, "Gintama") ~ "Gintama",
    TRUE ~ as.character(name)
  )) %>%
  group_by(name) %>%
  summarise(rating = mean(rating)) %>%
  arrange(desc(rating)) %>%
  head(10)
  
hpolar('Top 10  Anime TV', rating_Anime_TV$name, rating_Anime_TV$rating,  'Rating')
  • Multiple Gintama series’ were condensed into a single variable for simplification. Our recommendation would be to watching Gintama, Gintama° and Gintama’.

Top Reviewed

reviewed_Anime <- Anime %>%         
  arrange(desc(members)) %>%
  head(10)

hpolar('Top Reviewed', reviewed_Anime$name, reviewed_Anime$members,  'Reviews')

Our Top Recommentaitons

Overall Best

Kimi no Na wa (Your Name)

Your Name (Japanese: きみのなは。, Hepburn: Kimi no Na wa.) is a 2016 Japanese animated romantic fantasy drama film written and directed by Makoto Shinkai, animation directions by Masashi Ando, character designed by Masayoshi Tanaka and produced by CoMix Wave Films. The film was produced by Kōichirō Itō and Katsuhiro Takei, with music composed by Radwimps. Your Name tells the story of Taki, a high school boy in Tokyo and Mitsuha, a high school girl in a rural town, who suddenly and inexplicably begin to swap bodies. The film stars the voices of Ryunosuke Kamiki, Mone Kamishiraishi, Masami Nagasawa and Etsuko Ichihara. Shinkai’s eponymous novel was published a month before the film’s premiere.

-Wikipedia

Best OVA

Ginga Eiyuu Densetsu (Legend of the Galactic Heroes)

Legend of the Galactic Heroes (銀河英雄伝説, Ginga Eiyū Densetsu), sometimes abbreviated as LOTGH or Gin’eiden (銀英伝) in Japanese, is a series of science fiction novels written by Yoshiki Tanaka. In humanity’s distant future, two interstellar states – the monarchic Galactic Empire and the democratic Free Planets Alliance – are embroiled in a never-ending war. The story focuses on the exploits of rivals Reinhard von Lohengramm and Yang Wen-li as they rise to power and fame in the Galactic Empire and the Free Planets Alliance respectively.

-Wikipedia

Best Anime Movie

Kimi no Na wa (Your Name)

Your Name. (Japanese: きみのなは。, Hepburn: Kimi no Na wa.) is a 2016 Japanese animated romantic fantasy drama film written and directed by Makoto Shinkai, animation directions by Masashi Ando, character designed by Masayoshi Tanaka and produced by CoMix Wave Films. The film was produced by Kōichirō Itō and Katsuhiro Takei, with music composed by Radwimps. Your Name tells the story of Taki, a high school boy in Tokyo and Mitsuha, a high school girl in a rural town, who suddenly and inexplicably begin to swap bodies. The film stars the voices of Ryunosuke Kamiki, Mone Kamishiraishi, Masami Nagasawa and Etsuko Ichihara. Shinkai’s eponymous novel was published a month before the film’s premiere.

-Wikipedia

Best TV Anime

Fullmetal Alchemist: Brotherhood

Fullmetal Alchemist: Brotherhood (Japanese: 鋼の錬金術師 FULLMETAL ALCHEMIST, Hepburn: Hagane no Renkinjutsushi Furumetaru Arukemisuto) is a Japanese anime television series adapted from the Fullmetal Alchemist manga by Hiromu Arakawa. Produced by Bones, the series is directed by Yasuhiro Irie and written by Hiroshi Ōnogi. Fullmetal Alchemist: Brotherhood is the second anime television series based on Fullmetal Alchemist, the first being 2003’s Fullmetal Alchemist. Unlike the previous adaptation, Brotherhood is an almost 1:1 adaptation directly following the original events of the manga. It was first announced in the manga series’ 20th tankōbon volume. In Japan, it is differentiated from the 2003 series by the inclusion of the English language title. The series premiered on April 5, 2009, on MBS-TBS’ Sunday 5:00 PM JST anime time block, replacing Mobile Suit Gundam 00, and ran weekly until airing its final episode on July 4, 2010. Voice actresses Romi Park and Rie Kugimiya reprised their roles as main characters Edward and Alphonse Elric, respectively.

-Wikipedia

Most Reviewed Anime

Death Note

Death Note (Japanese: デスノート, Hepburn: Desu Nōto) is a Japanese manga series written by Tsugumi Ohba and illustrated by Takeshi Obata. The story follows Light Yagami, a teen genius[3] who stumbles across a mysterious otherworldly notebook: the “Death Note”, which belonged to the Shinigami Ryuk, and grants the user the supernatural ability to kill anyone whose name is written in its pages. The series centers around Light’s subsequent attempts to use the Death Note to carry out a world-wide massacre of individuals whom he deems morally unworthy of life to change the world into a utopian society without crime, using the alias of a god-like vigilante named “Kira” (“キラ”, the Japanese transliteration of the English word: killer) and the subsequent efforts of an elite task-force of law enforcement officers, consisting of members of the Japanese police force, led by L, an enigmatic international detective whose past is shrouded in mystery, to apprehend him and end his reign of terror.

-Wikipedia